package devcken.persistence.validation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.validation.Constraint;

import org.apache.commons.lang.StringUtils;

/**
 * Entity(영속성 도메인 클래스)의 Id로 지정된 필드에 대해 Null 여부을 위한 유효성 검사 항목을 지정한다.
 * @author Devcken
 */
@Documented
@Constraint(validatedBy=EntityIdValidator.class)
@Target({ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface EntityIdNotNull
{
	public abstract String message() default StringUtils.EMPTY;
	
	public abstract Class<?>[] groups() default { };
	
	public abstract Class<?>[] payload() default { };
}